Home:ALL Converter>How to upload excel file to mysql in php

How to upload excel file to mysql in php

Ask Time:2017-08-15T07:57:28         Author:Ayomikun Samuel

Json Formatter

I am trying to upload an excel file using the HTML input tag, to MySQL database using PHP. But the result is a whole lot of characters in the database. the only time it works correctly is when I create a .csv file with notepad and upload it.

if(isset($_POST['submit_excel'])){

if(!is_uploaded_file($_FILES['file_excel']['tmp_name'])){

echo '<script type="text/javascript">function hideMsg(){
            document.getElementById("popup_no_f").style.visibility = "hidden"; }         document.getElementById("popup_no_f").style.visibility = "visible";
           window.setTimeout("hideMsg()", 4000);
            </script>';
} else {

  $filename = $_FILES['file_excel']['name'];
  $extension = pathinfo($filename, PATHINFO_EXTENSION);

 if ($extension == 'xlsx' || $extension == 'csv' || $extension == 'xls') {

      if($_FILES['file_excel']["size"] > 0)
      {

            $handle = fopen($_FILES['file_excel']['tmp_name'], "r");
            $count = 0;
            while (($data = fgetcsv($handle, 1024, ",")) !== FALSE)
            {
                $count++; 
                if ($count>1) {

                    if (empty(data[0]) && empty(data[1]) && empty(data[2]) && empty(data[3]) && empty(data[4]) ){
                      echo alert();
                    }else{
                        do{
                          $bookuniqueid = uniqueid();
                          $query = "SELECT book_unique_id FROM books_tbl WHERE book_unique_id= '$bookuniqueid'  ";
                          $query_run = mysqli_query($link, $query);
                          $numRowsCheck = mysqli_num_rows($query_run);
                       } while ( $numRowsCheck > 0);
                            $import ="INSERT INTO books_tbl (book_name, book_authors, book_category, book_quantity, book_cd, book_unique_id, book_uploaded_admin, book_created_date, book_quant_stat) VALUES ('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]', '$bookuniqueid', '$adminname', current_date, '$data[3]' )";
                            mysqli_query($link, $import);

                    }
              }
            }
          fclose($handle);
          echo '<script type="text/javascript">function hideMsg(){
                    document.getElementById("popup").style.visibility = "hidden"; }         document.getElementById("popup").style.visibility = "visible";
                   window.setTimeout("hideMsg()", 4000);
                    </script>';

    }
  } else {
     echo '<script type="text/javascript">function hideMsg(){
                    document.getElementById("popup_ext").style.visibility = "hidden"; }         document.getElementById("popup_ext").style.visibility = "visible";
                   window.setTimeout("hideMsg()", 4000);
                    </script>';

  }

}

Author:Ayomikun Samuel,eproduced under the CC 4.0 BY-SA copyright license with a link to the original source and this disclaimer.
Link to original article:https://stackoverflow.com/questions/45684698/how-to-upload-excel-file-to-mysql-in-php
yy